1. Field of the Invention
The present invention is related to an apparatus for accessing and transferring optical data, and more particularly, to an apparatus that can be applied to a means of decoding a Blu-ray disk.
2. Description of Related Art
Conventional optical disks, such as digital versatile disks (DVD) or video compact disks (VCD), are extensively used in business activities or family life. They are usually used to store a mass of video, audio or other digital data, such as movies, music files, application software, etc. In order to make the optical disks capable of having a larger storage capacity, a standard for Blu-ray disks has been defined recently to satisfy the future requirements of users, in which a Blu-ray disk has a storage capacity more than five times greater than that of a DVD.
Reference is made to FIG. 1, which is a flowchart diagram that illustrates the decoding process for a Blu-ray disk. Firstly, a means of decoding a Blu-ray disk divides the user data into frames, each of which has 2048 data bytes and 4 bytes error detection codes. 32 frames of the user data is taken to form a data frame 200.
The data frame 200 is re-arranged to form a data block 202, which is a data matrix with 304 columns and 216 rows. Further, before being re-arranged, every frame of the user data is scrambled to form a scrambled data frame.
Thereafter, the encoding means generates 32 parity rows of long distance error correction codes (LDC) for every data block 202 to form a LDC block 204. Every column of the LDC block 204 is a LDC code. Hence, one LDC block 204 has 304 LDC codes.
Subsequently, the LDC block 204 is re-arranged to form a LDC cluster 206, which is a data matrix with 152 columns and 496 rows. In the re-arranging process, the LDC block 204 is interleaved twice to reduce burst errors.
On the other hand, for data accessing, the logical address and control data 208 and physical address 210 are added to the encoding process, in which the data and addresses are also encoded. For every user frame 200, the encoding means will provide the logical address and control data 208 for 32×18 bytes and the physical address 210 for 16×9 bytes.
In the encoding process, the logical address, the control data 208 and the physical address 210 are combined and re-arranged to form an access block 212, which is a data matrix with 24 columns and 30 rows.
Thereafter, the encoding means generates 32 parity rows of the burst indicator subcode (BIS) for the access block 212 to form a BIS block 214. Every BIS block 214 is re-arranged to form a BIS cluster 216, which is a data matrix with 3 columns and 496 rows. In the re-arranging process, the BIS block 214 is interleaved once.
After the LDC cluster 206 and the BIS cluster 216 are formed, the encoding means divides the LDC cluster 206 into four equal parts and divides the BIS cluster 216 into three equal parts. Thereafter, the encoding means inserts the BIS cluster 216 into the LDC cluster 206 and provides a frame sync to form a physical cluster 218. Lastly, the encoding means modulates the data of the physical cluster 218 and proceeds with the recoding procedure to form an error correction modulation block on the optical disk.
During the data accessing operation, a conventional accessing/transferring apparatus uses an optical reading head to access the data recorded on the optical disk, de-modulates the accessed data and abstracts the LDC and BIS data.
In the data accessing process, the conventional accessing/transferring apparatus de-interleaves the LDC and BIS data respectively to recover the LDC block and BIS block. The LDC data should be de-interleaved twice while the BIS data should only be de-interleaved once.
In addition, after de-interleaving, the conventional accessing/transferring apparatus uses the parities of the LCD and BIS to correct the LDC and BIS data and uses the error detection codes of the data frame 200 to check the LDC data to ensure that the data passed to the host is correct.
Therefore, in the accessing process, the conventional accessing/transferring apparatus performs an error correction process for every error correction block, i.e. the LDC block 204 or the BIS block 214, and then outputs the results.
The error correction block is a matrix with multiple columns and multiple rows. Every column of the matrix is a decoding unit for error correction and every row is a storage unit for recoding data in order on the optical disk. For forming the error correction modulation block, the order of the modulated data of the data row recoded in the optical disk is related to the order of the data of the data row of the error correction block.
In the data accessing process, the data of the LDC block 204 and BIS block 214 is temporarily stored in a dynamic random access memory (DRAM) of the conventional accessing/transferring apparatus for performing the error correction process. Taking the LDC block 204 as an example, reference is made to FIG. 2, which is a diagram showing the arrangement of the LDC data stored in the DRAM in compliance with the prior art. The direction of the arrow indicates the direction of the address arrangement of the DRAM. When the conventional accessing/transferring apparatus accesses the LDC block 204 for performing the error correction process, it takes out the data of the LDC block 204 from the DRAM column by column.
However, in the prior art, in order to access the data more efficiently, the DRAM usually has a page-mode function, which makes the data with the same row address, i.e. the data stored on the same memory page, accessible by sending the row address when accessing the first data and only sending the column address when accessing the following data.
Moreover, since the DRAM will only charge a memory block with the same row address to activate the memory block once, the DRAM not only needs to send out a row address but also needs to wait a predetermined charging time when accessing the data with a different row address. Hence, if the number of switching times of different row addresses increases, the efficiency of the DRAM is considerably reduced.
In the accessing process of the LDC block 204, although the conventional accessing/transferring apparatus can store the accessed data into the DRAM continuously, it usually needs to access the data with different row addresses during the decoding and transmission processes. As described above, because using the memory block with different row addresses requires waiting a predetermined charging time, the accessing efficiency of the LDC block 204 is reduced. Hence, the conventional accessing/transferring apparatus consumes a lot of time when accessing the data from the optical disk.
In accordance with the description above, since the conventional accessing/transferring apparatus needs to perform page-crossing access many times in the data accessing operation, its accessing efficiency is limited considerably.
Accordingly, as discussed above, the prior art still has some drawbacks that could be improved upon. The present invention aims to resolve the drawbacks in the prior art.